The IEEE Standard Test Access Port and Boundary Scan Architecture (IEEE STD 1149.1) is a well known IEEE test standard that provides scan access to scan registers within integrated circuits (ICs), and is hereby incorporated herein by reference. FIG. 12 shows a schematic of the 1149.1 test logic. The test logic comprises a TAP controller 120, an instruction register, and plural test data registers. The TAP controller is connected to test mode select (TMS), test clock (TCK), and test reset (TRST*) pins. The TAP controller responds to control input on TCK and TMS to scan data through either the instruction or data registers, via the test data input (TDI) and test data output (TDO) pins. TRST* is an optional pin used to reset or initialize the test logic, i.e. TAP controller, instruction register, and data registers. The inputs to the instruction and data registers are both directly connected to the TDI input pin. The output of the instruction and data registers are multiplexed to the TDO pin. During instruction register scans, the TAP controller causes the multiplexer 121 to output the instruction register on TDO. During data register scans the TAP controller causes the multiplexer 121 to output the data register on TDO. The instruction scanned into the instruction register selects which one of the plural data registers will be scanned during a subsequent data register scan operation. When the TAP controller is scanning data through the instruction or data registers, it outputs control to enable the output stage to output data from the TDO pin, otherwise the TAP controller disables the output stage.
FIG. 13 shows how four ICs, each IC including the TAP controller, instruction register, and data registers of FIG. 12, would be connected at the board level for serial data transfer (TDI, TDO) and parallel control (TMS, TCK).
FIG. 14 shows the state diagram operation of the FIG. 12 TAP controller. The TAP controller is clocked by TCK and responds to TMS input to transition between its states. The logic state of TMS is shown beside the paths connecting the states of FIG. 14. The Test Logic Reset state is where the TAP controller goes to in response to a power up reset signal, a low on TRST*, or an appropriate TMS input sequence. From Test Logic Reset the TAP controller can transition to the Run Test/Idle state. From the Run Test/Idle state the TAP controller can transition to the Select DR Scan state. From the Select DR Scan state, the TAP controller can transition into a data register scan operation or to the Select IR scan state. If the transition is to the data register scan operation, the TAP controller transitions through a Capture DR state to load parallel data into a selected data register, then shifts the selected data register from TDI to TDO during the Shift DR state. The data register shift operation can be paused by transitioning to the Pause DR state via the Exit1 DR state, and resumed by returning to the Shift DR state via the Exit2 DR state. At the end of the data register shift operation, the TAP controller transitions through the Update DR state to update (output) new parallel data from the data register and thereby complete the data register scan operation. From the Update DR state, the TAP controller can transition to the Run Test/Idle state or to the Select DR Scan state.
If the Select IR Scan state is entered from the Select DR Scan state, the TAP controller can transition to the Test Logic Reset state or transition into an instruction register scan operation. If the transition is to an instruction register scan operation, Capture IR, Shift IR, optional Pause IR, and Update IR states are provided analogously to the states of the data register scan operation. Next state transitions from the Update IR state can be either the Run Test/Idle state or Select DR Scan state. If the TAP controller transitions from the Select IR Scan state into the Test Logic Reset state, the TAP controller will output a reset signal to reset or initialize the instruction and data registers.
FIG. 15 shows that state transitions of the FIG. 12 TAP controller occur on the rising edge of the TCK and that actions can occur on either the rising or falling edge of TCK while the TAP controller is in a given state.
The term TAP referred to hereafter will be understood to comprise a TAP controller, an instruction register, test data registers, and TDO muxing of the general type shown in FIG. 12, but differing from FIG. 12 according to novel features of the present invention described with particularity herein. The 1149.1 standard was developed with the understanding that there would be only one TAP per IC. Today, ICs may contain multiple TAPs. The reason for this is that ICs are being designed using embedded megamodule cores which contain their own TAPs. A megamodule is a complete circuit function, such as a DSP, that has its own TAP and can be used as a subcircuit within an IC or as a standalone IC. An IC that contains multiple megamodules therefore has multiple TAPs.
In example FIG. 1, an IC 10 containing four TAPs is shown. TAP1 is shown connected to the boundary scan register (BSR) to provide the 1149.1 standard's conventional board level interconnect test capability. TAP1 can also be connected to other circuitry within tithe IC that exists outside the megamodules. TAP2 is an integral part of megamodule MM1. Likewise TAP3 and TAP4 are integral parts of megamodules MM2 and MM3. Each TAP of FIG. 1 includes a conventional 1149.1 TAP interface 11 for transfer of control (TMS, TCK and TRST) and data (TDI and TDO) signals. However, the 1149.1 standard is designed for only one TAP to be included inside an IC, and for the 1149.1 TAP interface of this one TAP to be accessible externally of the IC at terminals (or pins) of the IC for connection via 1149.1 test bus 13 to ail external test controller.
It is therefore desirable to provide an architecture wherein all TAPs of an IC can be controlled and accessed from an external 1149.1 test bus via a single externally accessible 1149.1 TAP interface.
The present invention provides an architecture which permits plural TAPs to be selectively accessed and controlled from a single 1149.1 TAP interface. The invention further provides access to a single register via any selected one of a plurality of TAPs. The invention further provides a TAP controller whose state machine control can be selectively overridden by an externally generated override signal which drives the state machine synchronously to a desired state. The invention further provides a TAP instruction which is decodable to select an external data path. Also according to the invention, sequential access of TAPs from a single 1149.1 TAP interface permits test operations associated with different TAPs to timewise overlap each other.